/*** Eclipse Class Decompiler plugin, copyright (c) 2016 Chen Chao (cnfree2000@hotmail.com) ***/
package dao.base;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Collection;
import java.util.List;
import java.util.Map;

public abstract interface BaseDao<T> {
	public abstract void save(T paramT);

	public abstract void save(Collection<T> paramCollection);

	public abstract void delete(T paramT);

	public abstract void delete(Collection<T> paramCollection);

	public abstract T findById(Serializable paramSerializable);

	public abstract T loadById(Serializable paramSerializable);

	public abstract List<T> findByExample(T paramT);

	public abstract List<T> findByProperty(String paramString,
			Object paramObject);

	public abstract List<T> findByProperty(String paramString,
			Object paramObject, int paramInt);

	public abstract List<T> findAll();

	public abstract void update(T paramT);

	public abstract void saveOrUpdate(T paramT);

	public abstract void saveOrUpdate(Collection<T> paramCollection);

	public abstract void deleteAndSave(T paramT);

	public abstract void deleteAndSave(Collection<T> paramCollection);

	public abstract T merge(T paramT);

	public abstract void lock(T paramT);

	public abstract T get(String paramString);

	public abstract T get(String paramString, Map<String, Object> paramMap);

	public abstract List<T> find(String paramString);

	public abstract List<T> findWithCache(String paramString);

	public abstract List<T> find(String paramString, int paramInt);

	public abstract List<T> find(String paramString, int paramInt1,
			int paramInt2);

	public abstract List<T> find(String paramString,
			Map<String, Object> paramMap, int paramInt1, int paramInt2);

	public abstract List<T> findWithCache(String paramString,
			Map<String, Object> paramMap, int paramInt1, int paramInt2);

	public abstract List<T> find(String paramString,
			Map<String, Object> paramMap);

	public abstract List<T> findWithCache(String paramString,
			Map<String, Object> paramMap);

	public abstract List<Object[]> findUnionByHql(String paramString);

	public abstract List<Object[]> findUnionByHql(String paramString,
			int paramInt1, int paramInt2);

	public abstract List<Object[]> findUnionByHql(String paramString,
			Map<String, Object> paramMap);

	public abstract List<Object[]> findUnionByHql(String paramString,
			Map<String, Object> paramMap, int paramInt1, int paramInt2);

	public abstract List<Object[]> findUnionByHql(String paramString,
			List<String> paramList);

	public abstract List<Object[]> findUnionByHql(String paramString,
			List<String> paramList, int paramInt1, int paramInt2);

	public abstract Long count(String paramString);

	public abstract Long count(String paramString, Map<String, Object> paramMap);

	public abstract List<T> exeHql(String paramString);

	public abstract List<T> exeSql(String paramString);

	public abstract int executeUpdateHql(String paramString);

	public abstract int executeUpdateHql(String paramString,
			Map<String, Object> paramMap);

	public abstract List<Object[]> findBySql(String paramString);

	public abstract List<Object[]> findBySql(String paramString, int paramInt1,
			int paramInt2);

	public abstract List<Object[]> findBySql(String paramString,
			Map<String, Object> paramMap);

	public abstract List<Object[]> findBySql(String paramString,
			Map<String, Object> paramMap, int paramInt1, int paramInt2);

	public abstract int executeSql(String paramString);

	public abstract int executeSql(String paramString,
			Map<String, Object> paramMap);

	public abstract BigInteger countBySql(String paramString);

	public abstract BigInteger countBySql(String paramString,
			Map<String, Object> paramMap);
}